// 参数默认值 es6之前：使用逻辑判断
/* function foo(enable) {
  // 不能使用这种形式定义默认值，当enable为false值或假值时，导致错误
  // enable = enable || true;

  enable = enable === undefined ? true : enable;
  console.log("enable =", enable);
}

foo(false); */

// 参数默认值, 参数默认值只能放在最后，不让无法正常工作
/* function foo1(enable = true, a) {
  // 不能使用这种形式定义默认值，当enable为false值或假值时，导致错误
  // enable = enable || true;
  console.log("enable =", enable, a);
}

foo1(false, 1);
foo1(); */

// ----------------------------------------------------
// 剩余参数 es6之前 argument
function foo() {
  console.log(arguments); // { '0': 1, '1': 2, '2': 3, '3': 4 } 伪数组
}

foo(1, 2, 3, 4);

// 剩余参数 es6之前 ...args 只能放在最后
function foo1(first, ...args) {
  console.log(first, args); // [ 1, 2, 3, 4 ] 数组
}

foo1(1, 2, 3, 4);
